//管理用户用到的接口
import request from '@/utils/request'
import type {
  LoginDataType,
  LoginResponseType,
  UserInfoResponseType,
  LogoutResponseType,
} from './types'

// 使用 const 对象替换枚举，避免 erasableSyntaxOnly (仅擦除语法) 对 enum 的限制
// enum 会生成运行时代码，而 Vite 默认用 esbuild 只擦除类型，不降级 enum，因而报错
export const API = {
  LOGIN_URL: '/admin/acl/index/login',
  USER_INFO_URL: '/admin/acl/index/info',
  LOGOUT_URL: '/admin/acl/index/logout',
}

//请求登录接口
export const reqLogin = (data: LoginDataType) =>
  request.post<any, LoginResponseType>(API.LOGIN_URL, data)

//请求用户信息接口
export const reqUserInfo = () =>
  request.get<any, UserInfoResponseType>(API.USER_INFO_URL)

//请求登出接口
export const reqLogout = () =>
  request.post<any, LogoutResponseType>(API.LOGOUT_URL)
